//1.引入mongoose模块
var mongoose = require('mongoose');
/**
 * 2.创建mongoose的链接
 * 参数1：本地数据的地址 f82
 * 参数2：数据库的参数
 * 参数3：回调函数   错误优先
*/
mongoose.connect('mongodb://localhost:27017/f82',{},(e)=>{
    if(e){
        console.log(e);
        console.log("连接失败");
        return;
    }
    console.log("链接成功");
});
/**
 * 3.创建Schema
 * 作用就是把数据映射到数据的表中的每一个字段上
 */
//创建学生的数据结构（结构中存入的数据的名字必须与表中的字段名一样）
var studentSchema = mongoose.Schema({
    name: String,
    age:Number,
    gender:String,
});

//4.创建一个学生的数据模型
//作用:模型中提供了对数据的增删改查的方法

/**
 * 参数1：自取的数据模型的名字
 * 参数2：对应的数据模型
 * 参数3：数据库中表的名字
 */
 var studentModel = mongoose.model('studentModel', studentSchema,"students");

 //5对数据库进行操作
 //添加一点数据
 /**
  * 参数1：添加的数据 一个json格式的对象
  * 参数2：执行成功后的回调函数
  * 
  */
//  studentModel.create({name:"钢哥",age:12,gender:"男"},(err,data)=>{
//     if(err){
//         console.log(err);
//         return;
//     }
//     console.log(data);
//  })

//  let result =studentModel.create({name:"钢哥1",age:19,gender:"男"});
//  result.then((data)=>{
// console.log(data);
//  })

 //删除一条数据 根据id删除
 /**
  * 参数1：删除条件 json对象
  * 参数2：回调函数
  * 返回的query 可以使用exec方法转换为对象Promise
  */
//  let result =studentModel.deleteOne({name:"张三"}).exec();
//  result.then((data)=>{
// console.log(data);
//  })

 //删除多条数据
//  let result =studentModel.deleteMany({gender:"男"}).exec()
//  result.then((data)=>{
// console.log(data);
//  })

 //修改
 /**
  * 参数1：被修改的那条数据
  * 参数2被修改数据的条件
  * 
  */
//  let result =studentModel.updateMany({name:"赵丽"},{gender:"男",age:88}).exec();
//  result.then((data)=>{
// console.log(data);
//  })

 //查询所有的

 let result =studentModel.find().exec();
 result.then((data)=>{
console.log(data);
 })
